Fibre Channel Arbitrated Loop (FC-AL) architecture is a member of the Fibre Channel family of ANSI standard protocols. FC-AL is typically used for connecting together computer peripherals, in particular disk drives. The FC-AL architecture is described in NCITS working draft proposal, American National Standard for Information Technology “Fibre Channel Arbitrated Loop (FC-AL-2) Revision 7.0”, Apr. 1, 1999.
Electronic data systems can be interconnected using network communication systems. Area-wide networks and channels are two technologies that have been developed for computer network architectures. Area-wide networks (e.g. LANs and WANs) offer flexibility and relatively large distance capabilities. Channels, such as the Small Computer System Interface (SCSI), have been developed for high performance and reliability. Channels typically use dedicated short-distance connections between computers or between computers and peripherals.
Fibre Channel technology has been developed for optical point-to-point communication of two systems or a system and a subsystem. It has evolved to include electronic (non-optical) implementations and has the ability to connect many devices, including disk drives, in a relatively low-cost manner. This addition to the Fibre Channel specifications is called Fibre Channel Arbitrated Loop (FC-AL).
Fibre Channel technology consists of an integrated set of standards that defines new protocols for flexible information transfer using several interconnection topologies. Fibre Channel technology can be used to connect large amounts of disk storage to a server or cluster of servers. Compared to Small Computer Systems Interface (SCSI), Fibre Channel technology supports greater performance, scalability, availability, and distance for attaching storage systems to network servers.
Fibre Channel Arbitrated Loop (FC-AL) is a loop architecture as opposed to a bus architecture like SCSI. FC-AL is a serial interface, where data and control signals pass along a single path rather than moving in parallel across multiple conductors as is the case with SCSI. Serial interfaces have many advantages including: increased reliability due to point-to-point use in communications; dual-porting capability, so data can be transferred over two independent data paths, enhancing speed and reliability; and simplified cabling and increased connectivity which are important in multi-drive environments. As a direct disk attachment interface, FC-AL has greatly enhanced I/O performance.
Devices are connected to a FC-AL using hardware which is termed a “port”. A device which has connections for two loops has two ports or is “dual-ported”.
The operation of FC-AL involves a number of ports connected such that each port's transmitter is connected to the next port's receiver, and so on, forming a loop. Each port's receiver has an elasticity buffer that captures the incoming FC-AL frame or words and is then used to regenerate the FC-AL word as it is re-transmitted. This buffer exists to deal with slight clocking variations that occur. Each port receives a word, and then transmits that word to the next port, unless the port itself is the destination of that word, in which case it is consumed. The nature of FC-AL is therefore such that each intermediate port between the originating port and the destination port gets to ‘see’ each word as it passes around the FC-AL loop.
FC-AL architecture may be in the form of a single loop. Often two independent loops are used to connect the same devices in the form of dual loops. The aim of these loops is to provide an alternative path to devices on a loop should one loop fail. A single fault should not cause both loops to fail simultaneously. More than two loops can also be used.
FC-AL devices typically have two ports allowing them to be attached to two FC-ALs. Thus, in a typical configuration, two independent loops exist and each device is physically connected to both loops. When the system is working optimally, there are two possible loops that can be used to access any dual-ported device.
A FC-AL can incorporate bypass circuits with the aim of making the FC-AL interface sufficiently robust to permit devices to be removed from the loop without interrupting throughput and sacrificing data integrity. If a disk drive fails, port bypass circuits attempt to route around the problem so all disk drives on the loop remain accessible. Without port bypass circuits a fault in any device will break the loop.
In dual loops, port bypass circuits are provided for each loop and these provide additional protection against faults. A port can be bypassed on one loop while remaining active on the dual loop.
A typical FC-AL may have one or two host bus adapters (HBA) and a set of six or so disk drive enclosures or drawers, each of which may contain a set of ten to sixteen disk drives. There is a physical cable connection between each enclosure and the HBA in the FC-AL. Also, there is a connection internal to the enclosure or drawer, between the cable connector and each disk drive in the enclosure or drawer, as well as other components within the enclosure or drawer, e.g. SES device (SCSI Enclosure Services node) or other enclosure services devices.
A SES device is an example of an enclosure service device which manages a disk enclosure and allows the monitoring of power and cooling in an enclosure. The SES device also obtains information as to which slots in an enclosure are occupied. The SES device accepts a limited set of SCSI commands. SCSI Enclosure Services are described in the working draft proposed by the American National Standards for Information Systems “SCSI-3 Enclosure Services Command Set (SES), Revision 8a”, Jan. 16, 1997.
SES devices may be dedicated SES nodes on the loop or alternatively there may be a disk drive that also supports the SES command set. For the purposes of this disclosure, either type of device will be referred to as an SES device.
EP-A-0 869 641 in the name of Hewlett-Packard Company teaches a Fibre Channel Arbitrated Loop including dynamic loop sizing by selectively bypassing operational device ports in the loop in order to minimise overhead associated with loop size. In redundant systems with multiple loops, the system is optimised by distribution of bypassed ports among the loops. By bypassing unused or unneeded ports off a loop, the round trip delay of the loop is appreciably shortened as each port contributes a delay to the transmission of a signal around a loop. By minimising the round trip delay, arbitration overhead and access latency is reduced and loop bandwidth and overall performance is improved. EP-A-0 869 641 also teaches dynamic load sharing which balances the load between the dual loops when using dual-ported devices on the loops. This is accomplished by bypassing a given subset of devices off each loop to reduce round trip delay, monitoring traffic on the loops and controlling which devices are attached to which loop in order to balance the load across the loops.
In some arrangements, a dual loop network with both loops operational with I/O to both ports of dual-ported devices is acceptable. However, the overheads in loops in which both dual ports are accessed can cause operational delays. Therefore, one port of each dual-ported device may be considered as redundant in order to limit the loop delays due to port overheads.
When selectively bypassing ports for performance enhancement, for example as disclosed in EP-A-0 869 641, there is a risk that performance bypassing and fault bypassing will conflict and interact with each other. This is particularly true in an environment in which there is more than one host bus adapter or other form of initiator. The performance bypassing may also interact with an initialisation procedure of a loop resulting in longer recovery periods and I/O delay.